//用于存储JS的工具函数
//函数封装,遵循小而美的原则
//1.使用方便,灵活复用  2.实现功能的函数代码简洁 3.函数的性能
//心法:复用封函数,变化改参数

//js里的标准注释方法
/**
 * @description 通过指定选择器获取对应的函数节点
 * @param {string} selector 选择器
 * @returns 函数节点
 */
// function $(selector) {
// 	//传入选择器得到对应的节点
// 	return document.querySelector(选择器);
// }

// // 方法一:通过状态判断
// function $(selector, isAll = false) {
// 	if (isAll) {
// 		return document.querySelectorAll(selector);
// 	} else {
// 		return document.querySelector(selector);
// 	}
// }
// 方法二:使用一个多功能的获取节点
function $(selector) {
	let nodeList = document.querySelectorAll(selector);
	if (nodeList.length === 0) {
		return console.warn(`${selector}没有获取到节点`);
	}
	if (nodeList.length === 1) {
		return nodeList[0];
	}
	if (nodeList.length > 1) {
		return nodeList;
	}
}

// 封装函数实现选项卡和内容区的一一对应
function tab(tabSelector, tabClassname, contSelector, contClassname) {
	$(tabSelector).forEach(function (v, i) {
		v.addEventListener("click", function () {
			$(tabSelector).forEach(function (item, index) {
				item.classList.remove(tabClassname);
				if (contSelector) {
					$(contSelector)[index].classList.remove(contClassname);
				}
			});
			v.classList.add(tabClassname);
			if (contSelector) {
				$(contSelector)[i].classList.add(contClassname);
			}
		});
	});
}
